/**
 * File : functions.js
 * Description : Fonctions JavaScript de KTK
 * Date : 07.08.2012 15:04:05
 * 
 * This file is part of Phenix.  Phenix is free software: you can
 * redistribute it and/or modify it under the terms of the GNU General Public
 * License as published by the Free Software Foundation, version 2.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
 * details.
 *
 * You should have received a copy of the GNU General Public License along with
 * this program; if not, write to the Free Software Foundation, Inc., 51
 * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Nils Schaetti <n.schaetti@gmail.com>
**/

/**
 * Cette fonction affiche la boîte de dialogue
 * 
 * @param string title Titre de la boîte de dialogue
 * @param string button1 Titre du premier bouton (vide si pas de bouton)
 * @param string button2 Titre du deuxième bouton (vide si pas de bouton)
 */
function ktkShowDialogBox(title, button1, button2, left, top, contentDiv, okHandler, cancelHandler)
{
	// Positionnement
	left = left - 50;
	if(left < 0)
		left = 0;
		
	top = top - 50;
	if(top < 0)
		top = 0;
	
	// Élément body
	var ktkBody = document.getElementById('ktkBody');
	
	// DIV d'arrière plan
	var backgroundDiv = document.createElement('div');
	backgroundDiv.setAttribute('class','ktkDialogBoxBackground');
	backgroundDiv.setAttribute('id','ktkDialogBoxBackground');
	
	// DIV de la boîte de dialogue
	var boxDiv = document.createElement('div');
	boxDiv.setAttribute('class', 'ktkDialogBox');
	boxDiv.setAttribute('id', 'ktkDialogBox');
	boxDiv.style.left = left + 'px';
	boxDiv.style.top = top + 'px';
	
	// DIV de la boîte de titre
	var titleDiv = document.createElement('div');
	titleDiv.setAttribute('class', 'ktkDialogBoxTitle');
	titleDiv.setAttribute('id', 'ktkDialogBoxTitle');
	titleDiv.appendChild(document.createTextNode(title));
	
	// DIV de l'intérieur
	var inDiv = document.createElement('div');
	inDiv.setAttribute('class', 'ktkDialogBoxIn');
	inDiv.setAttribute('id', 'ktkDialogBoxIn');
	
	// DIV des boutons
	var buttonsDiv = document.createElement('div');
	buttonsDiv.setAttribute('class', 'ktkDialogBoxBottomDiv');
	buttonsDiv.setAttribute('id', 'ktkDialogBoxBottomDiv');
	
	// Deuxieme bouton
	if(button2 != '')
	{
		button2Div = document.createElement('div');
		button2Div.setAttribute('class', 'ktkRedButton');
		button2Div.setAttribute('id', 'ktkRedButton');
		button2Div.setAttribute('onclick','javascript: ktkDialogBoxCancel(); ' + cancelHandler);
		button2Div.appendChild(document.createTextNode(button2));
		buttonsDiv.appendChild(button2Div);
	}
	
	// Premier bouton
	if(button1 != '')
	{
		button1Div = document.createElement('div');
		button1Div.setAttribute('class', 'ktkBlueButton');
		button1Div.setAttribute('id', 'ktkBlueButton');
		if(okHandler != '')
			button1Div.setAttribute('onclick','javascript: ' + okHandler);
		button1Div.appendChild(document.createTextNode(button1));
		buttonsDiv.appendChild(button1Div);
	}
	
	// Ajoute le titre à la boîte
	boxDiv.appendChild(titleDiv);
	
	// Ajoute le contenu
	inDiv.appendChild(contentDiv);
	
	// Ajoute l'intérieur à la boîte
	boxDiv.appendChild(inDiv);
	
	// Ajoute le div des boutons à la boîte
	boxDiv.appendChild(buttonsDiv);
	
	// Ajoute la boite au fond
	backgroundDiv.appendChild(boxDiv);
	
	// Ajoute le fond à la page
	ktkBody.appendChild(backgroundDiv);
	
}

/**
 * Appellée lorsque on ferme une boite de dialogue
 */
function ktkDialogBoxCancel()
{
	// Element body
	var ktkBody = document.getElementById('ktkBody');
	
	// Div d'arrière plan
	var backgroundDiv = document.getElementById('ktkDialogBoxBackground');
	
	// Supprime l'arrière plan
	ktkBody.removeChild(backgroundDiv);
}

/**
 * Ferme la boîte de dialogue actuellement ouverte
 */
function ktkCloseDialogBox()
{
	// Element body
	var ktkBody = document.getElementById('ktkBody');
	
	// Div d'arrière plan
	var backgroundDiv = document.getElementById('ktkDialogBoxBackground');
	
	// Supprime l'arrière plan
	ktkBody.removeChild(backgroundDiv);
}


